package com.ndp.fb.rdb.api;

import com.ndp.fb.model.business.vo.ectemplate.EcTemplateFilterParam;
import com.ndp.fb.rdb.model.EcTemplate;
import com.ndp.fb.rdb.model.Pager;
import com.ndp.fb.rdb.model.ectemplate.EcTemplateCategory;
import com.ndp.fb.rdb.model.ectemplate.EcTemplateElementStyle;
import com.ndp.fb.rdb.model.ectemplate.EcTemplateFont;
import com.ndp.fb.rdb.model.ectemplate.EcTemplateGroupCnt;

import java.util.List;

/**
 * Created by infi.he on 2016/4/18.
 */
public interface EcTemplateRdbService {

    Long save(EcTemplate obj);

    void delLogic(Long id);

    EcTemplate updateStatus(Long id, int active);

    EcTemplate findByName(String name, Long orgId);

    //上传的zip 模板同名覆盖
    void cover(Long id, String templateImg, String templateContext);

    void updateDeleteStatus(Integer deleteStatus,Long id);
    //更新模板s3地址
    void updateTemplateImg(Long id, String url);

    Pager<EcTemplate> getTemplateWithPager(Long orgId, String name, int order, List<Long> templateStatus, List<EcTemplateFilterParam> filterList, Integer firstResult, Integer sizeNo);

    EcTemplate findById(Long id);

    List<EcTemplate> findAll();

    //找到具体一个公司下的 所有布局
    List<EcTemplate> findByOrgId(Long orgId);

    //模板 catalog 关系表 批量插入
    void batchSaveTemplateCatalog(List<EcTemplateCategory> list);

    List<EcTemplate> findByOrgIdAndCategory(Long orgId, List<Long> ids);


    //保存模板字体多对多关系表
    void saveTemplateFont(EcTemplateFont ecTemplateFont);

    //更新模板 设计元素 主体背景图
    void updateTmplBgStyle(Long templateId, String templateName, String designCode);

    //更新模板 设计元素 装饰code
    void updateTmplBk(Long templateId, String templateName, String designCode);
    //插所有模板
    List<EcTemplate> findAllEcTemplate();


    //查找模板有几组样式
    List<EcTemplateGroupCnt> getTemplateGroupCnt(List<Long> templateIds);

    List<EcTemplate> findAllNewEcTemplate(Long orgId);
}
